package com.xqboss.apps.vo.sys;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 *     APP配置信息
 * </p>
 * @author Trent
 * @date 2023/9/11
 */
@Data
@ApiModel
public class AppProfileVo {

    @ApiModelProperty(value = "充值功能开启状态", required = true)
    @NotNull(message = "请选择充值开启状态")
    private Boolean rechargeEnable;
    @ApiModelProperty(value = "充值支付方式选择,如果开启充值功能，则至少要有一种支付方式")
    private List<Integer> rechargePayList;
    @ApiModelProperty("自定义充值金额")
    @NotNull(message = "请选择是否开启自定义金额充值")
    private Boolean rechargeInputAmount;
    @ApiModelProperty("自定义充值最低金额, null为不限制")
    @Positive(message = "最低充值金额只能为正数")
    private BigDecimal rechargeAmountMin;
    @ApiModelProperty("自定义充值最高金额, null为不限制")
    @Positive(message = "最高充值金额只能为正数")
    private BigDecimal rechargeAmountMax;
    @ApiModelProperty(value = "充值说明", required = true)
    @NotEmpty(message = "请输入充值说明")
    private String rechargeExplain;
    @ApiModelProperty(value = "充值协议")
    private String rechargeProtocol;

    @ApiModelProperty(value = "提现功能开启状态",required = true)
    @NotNull(message = "请选择提现功能开启状态")
    private Boolean withdrawEnable;
    @ApiModelProperty("单次提现最低金额， null为不限制")
    @Positive(message = "最低提现金额只能为正数")
    private BigDecimal withdrawAmountMin;
    @ApiModelProperty("单次提现最高金额， null为不限制")
    @Positive(message = "最高提现金额只能为正数")
    private BigDecimal withdrawAmountMax;
    @ApiModelProperty("日提现上限， null为不限制")
    @Positive(message = "日提现上限只能为正数")
    private BigDecimal withdrawDayMax;
    @ApiModelProperty(value = "提现说明", required = true)
    @NotEmpty(message = "请输入提现说明")
    private String withdrawExplain;
    @ApiModelProperty(value = "耐久破损度说明")
    private String npExplain;


    @ApiModelProperty("打卡规则说明")
    private String punchRuleExplain;

    @ApiModelProperty(value = "购买须知")
    private String buyKnow;
    @ApiModelProperty(value = "版权声明")
    private String copyrightNotice;
    @ApiModelProperty(value = "队伍增益规则")
    private String teamGainRule;

    @ApiModelProperty("提醒打卡点赞送爱心扣减数值")
    private BigDecimal punchUpvoteLove;

    @ApiModelProperty("新手引导积分阈值")
    private Integer integralLimit;
    @ApiModelProperty("耐久度收益递减阈值")
    private BigDecimal durabilityLimit;

    @ApiModelProperty("订单支付方式")
    private List<Integer> orderPayType;
    @ApiModelProperty(value = "转卖须知")
    private String resaleNotice;

    @ApiModelProperty(value = "装备升级说明")
    private String equipmentUpgradeExplain;

    @ApiModelProperty(value = "扳手邀请规则说明")
    private String wrenchInviteRuleExplain;

    @ApiModelProperty(value = "身份升级规则说明")
    private String identityUpgradeRuleExplain;


    @ApiModelProperty(value = "合成规则说明")
    private String synthesisExplain;

    @ApiModelProperty(value = "开启快速抄货最低金额配置")
    private Integer openQuickCopyMinAmount;

    @ApiModelProperty(value = "扳手生产规则说明")
    private String wrenchProductionExplain;

    @ApiModelProperty(value = "扳手套餐说明")
    private String wrenchProductionConfig;

    @ApiModelProperty(value = "公会说明")
    private String guildExplain;




    @ApiModelProperty(value = "游戏公告躲避调皮蛙")
    private String avoidFrogExplain;

    @ApiModelProperty(value = "游戏公告时来运转")
    private String getABreakExplain;
    @ApiModelProperty(value = "游戏规则时来运转")
    private String getABreakRule;

    @ApiModelProperty(value = "游戏公告炸年兽")
    private String friedNewYearBeastExplain;


    @ApiModelProperty(value = "运动场帮助说明")
    private String sportHelpExplain;
    @ApiModelProperty(value = "运动场队伍帮助说明")
    private String sportHelpTeamExplain;
    @ApiModelProperty(value = "运动场建设帮助说明")
    private String sportHelpBuildExplain;

}
